package com.jyhg.core.common.utils
{
	import flash.net.registerClassAlias;
	import flash.utils.ByteArray;
	import flash.utils.getQualifiedClassName;
	

	/**
	 * 字节类型深度复制
	 * @author Jonny
	 * 
	 */
	public class DeepClone
	{
		public function DeepClone(){}
		
		public static function deepClone(obj):*   
		{
			var aliasClass:Class; 
			var classDefinition:Class = Object(obj).constructor as Class;    
			var className:String = getQualifiedClassName(obj);
			var d:*;
			var byteArray:ByteArray = new ByteArray();
			registerClassAlias(className,classDefinition);
			byteArray.writeObject(obj);
			byteArray.position = 0;
			d = byteArray.readObject();
			return d;
		}
		
	}
}